Prediction of free parking spaces in a parking area

ABSTRACT

Embodiments of the present invention disclose a computer implemented method, computer program product, and system for management of parking spaces in a parking area. Identifying an individual entering a parking area and a vehicle in the parking area that corresponds to the identified individual. Determining a distance between the identified individual and the identified vehicle in the parking area. Determining whether the identified individual is moving toward the identified vehicle. Responsive to determining that the identified individual is moving toward the identified vehicle, determining whether the determined distance is less than an associated distance threshold condition. In another embodiment, detecting a parking ticket entering the parking area and identifying an individual and a vehicle in the parking area that correspond to the detected parking ticket.

FIELD OF THE INVENTION

The present invention relates generally to the field of parking areamanagement, and more particularly to prediction of free parking spacesin a parking area.

BACKGROUND OF THE INVENTION

A parking area (i.e., parking lot, car park, parking garage, car lot,etc.) is a cleared area that is intended for parking vehicles. Parkingareas can be of many varying sizes, and can be intended for use byvarying types of vehicles (e.g., cars, bicycles, motorcycles, industrialvehicles, etc.). Depending on a location or an intended use, use of aparking area can be free of charge, or require payment of a fee. Manyinstances of parking areas that require payment of a fee utilize aticketing system. Upon entry to a parking area, an individual in avehicle can receive a ticket from an attendant working in the parkingarea, or an automated ticketing system. In an example, the ticket canindicate the time that the vehicle entered the parking area. Beforeexiting the parking area, the individual in the vehicle pays a requiredfee (e.g., to the attendant working in the parking area, or to theautomated ticketing system utilized by the parking area), correspondingto the amount of time the vehicle was parked in the parking area. Inanother example, the ticket can indicate an amount of time the vehicleis entitled to park in the parking area (dependent on the amount of feepaid).

SUMMARY

Embodiments of the present invention disclose a computer implementedmethod, computer program product, and system for management of parkingspaces in a parking area. In one embodiment, in accordance with thepresent invention, the computer implemented method includes the steps ofidentifying an individual entering a parking area and a vehicle in theparking area that corresponds to the identified individual, determininga distance between the identified individual and the identified vehiclein the parking area, determining whether the identified individual ismoving toward the identified vehicle, and, responsive to determiningthat the identified individual is moving toward the identified vehicle,determining whether the determined distance is less than an associateddistance threshold condition. In another embodiment, the method furtherincludes the steps of detecting a parking ticket entering the parkingarea and identifying an individual and a vehicle in the parking areathat correspond to the detected parking ticket.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a functional block diagram of a data processing environment inaccordance with an embodiment of the present invention.

FIG. 2 is a flowchart depicting operational steps of a program forutilizing movement of an individual in a parking area to determinewhether a parking spot is ready to be free.

FIG. 3 is a flowchart depicting operational steps of a program forutilizing movement of a parking ticket in a parking area to determinewhether a parking spot is ready to be free.

FIG. 4 depicts a block diagram of components of the computing system ofFIG. 1 in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention allow for determining whether anoccupied parking space in a parking area is ready to be free. In oneembodiment, an individual entering a parking area is identified, alongwith a vehicle that corresponds to the individual. Responsive tomovement of the individual in the parking area, previously storedstatistics of the vehicle that corresponds to the individual, andlocation of other individuals associated with the vehicle, adetermination is made of whether or not the parking space occupied bythe vehicle is ready to be free. In another embodiment, a location of aparking ticket corresponding to the vehicle is also utilized todetermine whether or not the parking space occupied by the vehicle isready to be free.

Embodiments of the present invention recognize that locating a freeparking space within a large parking area can be a time consuming task.Many times a vehicle moves past a parking space that is not currentlyfree, but becomes free a short time after the vehicle passes the space.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.), or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer readable program code/instructions embodiedthereon.

Any combination of computer-readable media may be utilized.Computer-readable media may be a computer-readable signal medium or acomputer-readable storage medium. A computer-readable storage medium maybe, for example, but not limited to, an electronic, magnetic, optical,electromagnetic, or semiconductor system, apparatus, or device, or anysuitable combination of the foregoing. More specific examples (anon-exhaustive list) of a computer-readable storage medium would includethe following: a portable computer diskette, a hard disk, a randomaccess memory (RAM), a read-only memory (ROM), an erasable programmableread-only memory (EPROM or Flash memory), a portable compact discread-only memory (CD-ROM), an optical storage device, a magnetic storagedevice, or any suitable combination of the foregoing. In the context ofthis document, a computer-readable storage medium may be any tangiblemedium that can contain, or store a program for use by or in connectionwith an instruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java®, Smalltalk, C++, or the like, and conventional proceduralprogramming languages, such as the C programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce acomputer-implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating dataprocessing environment 100, in accordance with one embodiment of thepresent invention.

An embodiment of data processing environment 100 includes cameras 110,ticket detection system 115, parking space guidance system 120, andparking space prediction engine 140, all interconnected over network130. Cameras 110 are devices capable of capturing images (e.g., digitalcameras), and video (e.g., digital video cameras), and sending thecaptured images and video to parking space prediction engine 140 vianetwork 130. In one embodiment, cameras 110 are located throughout aparking area, and capture images and video of individuals and vehiclesin the parking area (e.g., entering a parking area, movement within aparking area, etc.). Images and video that cameras 110 capture is of aresolution and image quality that allow for comparison ofcharacteristics of individuals and vehicles in the parking area.

Ticket detection system 115 includes sensors that have the capability todetect a parking ticket (e.g., radio-frequency identification (RFID)sensors), and communicate data associated with parking tickets toparking space prediction engine 140 via network 130. In one embodiment,ticket detection system 115 includes sensors located throughout aparking area, and can detect individuals in possession of parkingtickets while the individuals are moving through the parking area.Parking tickets are associated with a vehicle in the parking area, andthe corresponding parking space of the vehicle. In an example, a parkingticket includes RFID identification capabilities, allowingidentification and communication with ticket detection system 115.

Parking space guidance system 120 is a series of displays that provideinformation to individuals in the parking area. In example embodiments,parking space guidance system 120 displays locations and routes toparking spaces in the parking area that are free or ready to be free.Parking space guidance system 120 receives data to display from parkingspace prediction engine 140 via network 130.

In one embodiment, cameras 110, ticket detection system 115, parkingspace guidance system 120, and parking space prediction engine 140communicate through network 130. Network 130 can be, for example, alocal area network (LAN), a telecommunications network, a wide areanetwork (WAN) such as the Internet, or a combination of the three, andinclude wired, wireless, or fiber optic connections. In general, network130 can be any combination of connections and protocols that willsupport communications between cameras 110, ticket detection system 115,parking space guidance system 120, and parking space prediction engine140 in accordance with embodiments of the present invention.

In one embodiment, parking space prediction engine 140 receives dataassociated with individuals, vehicles, and tickets in a parking areafrom cameras 110 and ticket detection system 115 via network 130.Parking space prediction engine 140 includes statistical modelingsoftware 142, storage device 150, prediction program 200, and ticketdetection program 300. In example embodiments, parking space predictionengine 140 can be a desktop computer, computer server, or any othercomputer system known in the art, in accordance with embodiments of theinvention. In certain embodiments, parking space prediction engine 140represents computer systems utilizing clustered computers and components(e.g., database server computers, application server computers, etc.),that act as a single pool of seamless resources when accessed byelements of data processing environment 100 (e.g., cameras 110, ticketdetection system 115, and parking space guidance system 120). Ingeneral, parking space prediction engine 140 is representative of anyelectronic device or combination of electronic devices capable ofexecuting machine-readable program instructions, as described in greaterdetail with regard to FIG. 4, in accordance with embodiments of thepresent invention.

Storage device 150 includes vehicle data 152, passenger data 154,statistical model 156, and ticket data 158. Storage device 150 can beimplemented with any type of storage device that is capable of storingdata that may be accessed and utilized by parking space predictionengine 140, such as a database server, a hard disk drive, or flashmemory. In other embodiments, storage device 150 can represent multiplestorage devices within parking space prediction engine 140.

Each instance of vehicle data 152 includes data captured by cameras 110and ticket detection system 115 corresponding to a specific vehicle inthe parking area. In an embodiment, upon a vehicle entering a parkingarea, cameras 110 capture identification information (e.g., licenseplate, color, size, etc.), and a parking space corresponding to thevehicle. The captured identification information and parking space areincluded in vehicle data 152 and stored on storage device 150corresponding to the vehicle. In another embodiment, vehicle data 152also includes historical data corresponding to vehicles that haveutilized the parking area (e.g., number of times a vehicle has utilizedthe parking area, frequency that a vehicle has utilized the parkingarea, previous durations of time that a vehicle has remained in theparking area). For example, vehicle data 152 includes an indication ofwhether a vehicle is a registered user of the parking area, frequentlyutilizes the parking area, or an infrequent user of the parking area(e.g., is utilizing the parking area for the first time). Parking spaceprediction engine 140 utilizes received identification information fromcameras 110 to update historical data included in vehicle data 152 eachtime a vehicle utilizes the parking area. In one embodiment, parkingspace prediction engine 140 identifies vehicle data 152 corresponding toa vehicle utilizing the parking area by comparing identificationinformation received by cameras 110 to stored identification informationin vehicle data 152.

Passenger data 154 includes data captured by cameras 110 and ticketdetection system 115 corresponding to individuals utilizing the parkingarea. In an embodiment, cameras 110 capture identificationcharacteristics (e.g., visual features of individuals, color ofclothing, etc.), that correspond to individuals in the parking area, anda corresponding vehicle (i.e., the vehicle that the individual is apassenger of and arrived to the parking area in). The capturedidentification characteristics of the individuals in the parking areaare included in passenger data 154 and stored on storage device 150.Passenger data 154 is associated with the instance of vehicle data 152of the vehicle corresponding to the individual (e.g., the vehicle thatthe individual arrived in).

For example, a vehicle arrives in a parking area and parks in a parkingspot. Upon exiting the vehicle, cameras 110 capture identificationcharacteristics of one or more individuals that exit the vehicle (i.e.,the passengers of the vehicle). Cameras 110 also capture identificationinformation and the parking space of the vehicle, which is stored instorage device 150 as vehicle data 152 corresponding to the vehicle. Thecaptured identification characteristics of each of the one or moreindividuals are stored as passenger data 154 corresponding to each ofthe one or more individuals. Each instance of passenger data 154 isassociated with vehicle data 152 of the corresponding vehicle thatcameras 110 captured the one or more individuals exiting.

Statistical model 156 is a probabilistic model that is based uponvehicles' arrival times to the parking area, and departure times fromthe parking area. Parking space prediction engine 140 utilizesstatistical modeling software 142 to create statistical model 156 basedon vehicle data 152. In an embodiment, for a vehicle that is aregistered user of the parking area or a vehicle that frequentlyutilizes the parking area, parking space prediction engine 140 utilizesstatistical modeling software 142 to create an instance of statisticalmodel 156 based on vehicle data 152 of the vehicle. Statistical model156 is based on the historical data (e.g., arrival times to the parkingarea, and departure times from the parking area), associated withvehicle data 152. Statistical model 156 is stored in storage device 150and associated with the corresponding instance of vehicle data 152.Parking space prediction engine 140 utilizes statistical model 156 todetermine probabilities of a departure time of a vehicle from theparking area relative to the arrival time of the vehicle to the parkingarea. For example, if a vehicle has been in the parking area for twentyminutes, statistical model 156 indicates that there is a 35% probabilitythat the vehicle will leave the parking area after twenty minutes (basedon the vehicle's previous uses of the parking area).

Ticket data 158 includes fees associated with parking tickets, a vehiclecorresponding to a parking ticket, and a parking space in the parkingarea that correspond to the parking ticket. For parking areas with aticketing system (including a fee or without a fee), ticket data 158exists for each ticket in use in the parking area. In an embodiment,upon entry to a parking area, a vehicle receives a parking ticket.Cameras 110 capture identification information and the parking space ofthe vehicle, which are included in vehicle data 152 and stored instorage device 150 corresponding to the vehicle. Ticket data 158 isstored in storage device 150 and is associated with an instance ofvehicle data 152 that corresponds to the vehicle that received theparking ticket when entering the parking area.

In various embodiments, prediction program 200, which is discussed ingreater detail with regard to FIG. 2, utilizes movement of an individualwithin a parking area to determine whether a parking spot is ready to befree. For example, ticket detection program 300, which is discussed ingreater detail with regard to FIG. 3, utilizes movement of a parkingticket within a parking area to determine whether a parking spot isready to be free.

FIG. 2 is a flowchart depicting operational steps of prediction program200 in accordance with an embodiment of the present invention. In oneembodiment, prediction program 200 initiates, responsive to cameras 110,detecting an individual entering the parking area that hasidentification characteristics that correspond to an instance ofpassenger data 154, and that instance of passenger data 154 isassociated with an instance of vehicle data 152 that corresponds to avehicle that is currently parked in the parking area. Prediction program200 operates simultaneously for each individual identified in theparking area.

Prediction program 200 identifies an individual entering the parkingarea (step 202). In one embodiment, when an individual enters theparking area, cameras 110 capture images and video of the individual andsend the images and video to parking space prediction engine 140.Prediction program 200 compares identification characteristics from theimages and video of the individual to passenger data 154, and identifiesthe corresponding instance of passenger data 154. In an embodiment,prediction program 200 matches patterns in the identificationcharacteristics of an individual entering the parking area to patternsin instances of passenger data 154. Prediction program 200 identifiescorresponding passenger data 154 for each individual that enters theparking area. In one embodiment, prediction program 200 is continuouslymonitoring the movement of the identified individual in the parkingarea.

Prediction program 200 then identifies a vehicle in the parking areathat corresponds to the identified individual (step 204). In oneembodiment, prediction program 200 identifies the instance of vehicledata 152 that is associated with passenger data 154 (identified in step202), corresponding to the individual that entered the parking area.Prediction program 200 utilizes associated vehicle data 152 to identifythe parking space in the parking area of the vehicle of the identifiedindividual that entered the parking area (identified in step 202).

Prediction program 200 then determines the distance between theidentified individual and the identified corresponding vehicle (step206). In one embodiment, prediction program 200 utilizes cameras 110 tomonitor the location of the individual in the parking area. Predictionprogram 200 receives photos and video from cameras 110 to determine thedistance between the identified individual and the parking space of theidentified corresponding vehicle. In embodiments, prediction program 200determines a section of the parking area (or other elements of theparking area), where the individual is currently located, and determinesthe distance from that section to the parking space of the identifiedcorresponding vehicle. In another embodiment, prediction program 200tracks the position of the individual in the parking area in relation tothe parking space of the identified corresponding vehicle (e.g., infeet, yards, meters, etc.). In other embodiments, prediction program 200can utilize photos and video received from cameras 110 as input intoother forms of distance computation (e.g., Euclidian distance formula),to determine the distance between the identified individual and theidentified corresponding vehicle.

Prediction program 200 then determines whether or not the individual ismoving toward the vehicle (decision step 208). In one embodiment,prediction program 200 determines whether or not the individual ismoving toward the parking space of the identified corresponding vehicle(identified in step 204). In one example, prediction program 200determines an updated distance between the identified individual and theparking space of the identified corresponding vehicle (utilizing methodsas discussed with regard to step 206). If prediction program 200determines that the determined updated distance is less than thedistance determined in step 206, then prediction program 200 determinesthat the individual is moving toward the parking space of the identifiedcorresponding vehicle. In another example, prediction program 200analyzes pictures and video receives from cameras 110 to identifydirectional movement of the individual. If prediction program 200identifies that the individual is moving in a direction toward theparking space of the identified corresponding vehicle, then predictionprogram 200 determines that the individual is moving toward the parkingspace of the identified corresponding vehicle. Responsive to determiningthat the determined distance is not less than a distance thresholdcondition, prediction program 200 proceeds to step 206 (decision step208, “no” branch). Prediction program 200 can store an indication thatthe individual is moving toward the parking space of the identifiedcorresponding vehicle in the corresponding instance of passenger data154.

Prediction program 200 then determines whether the determined distanceis less than a distance threshold condition (decision step 210). In oneembodiment, responsive to determining that the individual is movingtoward the vehicle (decision step 208, “yes” branch), prediction program200 determines whether the most recently determined distance of theindividual (e.g., determined distance in step 206, determined updateddistance in decision step 208), is less than a previously defineddistance threshold condition. The distance threshold condition caninclude a predefined distance (e.g., 40 feet, 15 yards, 15 meters,etc.), or can be a percentage of the distance from a parking areaentrance to the parking space of the vehicle (e.g., 45% of the totaldistance from the parking area entrance to the parking space of theidentified corresponding vehicle). Distance threshold conditions can becreated and customized relative to characteristics in use of the parkingarea. For example, individuals with associated passenger data 154 thatindicated frequent use of the parking area may have a differentcorresponding distance threshold condition than other individuals. Inanother example, prediction program 200 can utilize different distancethreshold conditions based on different time periods (e.g., parking areapeak utilization period, night time, early morning, etc.). Responsive todetermining that the determined distance is not less than a distancethreshold condition, prediction program 200 proceeds to step 206(decision step 210, “no” branch). Prediction program 200 can store anindication that the determined distance of the individual to thecorresponding vehicle is less than the distance threshold in thecorresponding instance of passenger data 154.

Prediction program 200 then determines whether to mark the parking spaceof the identified vehicle as ready to be free (step 212). In oneembodiment, responsive to determining that the determined distance isless than a distance threshold condition (decision step 210, “yes”branch), prediction program 200 determines whether to mark the parkingspace of the identified vehicle as ready to be free. Prediction program200 utilizes the indication that the determined distance of theindividual to the parking space of the identified corresponding vehicleas one factor in the determination of whether or not to mark the parkingspace of the identified vehicle as ready to be free. In one embodiment,prediction program 200 also utilizes other factors, which may include: anumber of passengers of the corresponding vehicle that have arrived atthe parking space of the vehicle, a number of passengers of thecorresponding vehicle that prediction program 200 detects are movingtoward the parking space of the vehicle, and statistical model 156associated with the corresponding vehicle. An individual is a passengerof a vehicle if passenger data 154 corresponding to the individual isassociated with vehicle data 152 corresponding to the vehicle. Inexample embodiments, responsive to determining to mark a parking spaceas ready to be free, prediction program 200 utilizes parking spaceguidance system 120 to display the location of the parking space that isready to be free.

In examples when a vehicle has more than one passenger (i.e., vehicledata 152 has more than one associated instance of passenger data 154),prediction program 200 utilizes identified locations in the parking areaof passengers of the vehicle to determine a number of passengers thathave arrived at the vehicle, and a number of passengers that are movingtoward the vehicle. For example, if prediction program 200 determinesthat an individual is at the parking space of the corresponding vehicle,or is within the distance threshold condition (determined in decisionstep 210), then the individual has arrived at the parking space of thevehicle and the parking space is ready to be free. Prediction program200 can utilize stored indication in passenger data 154 that anindividual is moving toward the vehicle, and that the individual iswithin the distance threshold condition. In another example for avehicle that is a registered user of the parking area or a vehicle thatfrequently utilizes the parking area, prediction program 200 utilizesstatistical model 156 associated with the corresponding vehicle todetermine a probability that the vehicle will leave at the current time.For example, if the vehicle has been in the parking area for fortyminutes, statistical model 156 provides a probability that the vehiclewill leave the parking area after forty minutes (based on the vehicle'sprevious uses of the parking area).

In an example, prediction program 200 determines that the distance of anindividual to a corresponding vehicle is within the distance thresholdcondition (decision step 210). Prediction program 200 determines thatone of the three other passengers of the corresponding vehicle hasalready arrived at the vehicle, and the other two passengers are movingtoward the vehicle. Statistical model 156 indicates that there is a 65%probability that the vehicle will leave the parking area at the currenttime. In this example, prediction program 200 determines to mark theparking space of the vehicle as ready to be free.

In another example, prediction program 200 determines that the distanceof an individual to a corresponding vehicle is within the distancethreshold condition (decision step 210). Prediction program 200determines that zero of the three other passengers of the correspondingvehicle have already arrived at the vehicle, and zero passengers aremoving toward the vehicle. Statistical model 156 indicates that there isa 40% probability that the vehicle will leave the parking area at thecurrent time. In this example, prediction program 200 determines to notmark the parking space of the vehicle as ready to be free.

FIG. 3 is a flowchart depicting operational steps of ticket detectionprogram 300 in accordance with an embodiment of the present invention.In one embodiment, ticket detection program 300 initiates responsive toticket detection system 115 detecting that an individual with a parkingticket has entered the parking area. Ticket detection program 300operates simultaneously for each parking ticket identified in theparking area.

Ticket detection program 300 identifies a ticket entering the parkingarea (step 302). In one embodiment, when an individual in possession ofa ticket enters the parking area, ticket detection system 115 detectsthe individual coming through the entrance of the parking area (e.g.,utilizing RFID sensors). Ticket detection program 300 identifies thecorresponding instance of ticket data 158 corresponding to theidentified ticket. Ticket detection program 300 identifies correspondingticket data 158 for each ticket that is detected entering the parkingarea. In another embodiment, ticket detection program 300 identifiespassenger information 154 that corresponds to the individual inpossession of the ticket. In one embodiment, ticket detection program300 is continuously monitoring the movement of the identified individualin the parking area.

Ticket detection program 300 then identifies a vehicle in the parkingarea that corresponds to the detected ticket (step 304). In oneembodiment, ticket detection program 300 identifies vehicle data 152that corresponds to ticket data 158 (identified in step 302). Ticketdetection program 300 utilizes corresponding vehicle data 152 toidentify the parking space of the vehicle corresponding to the ticketthat entered the parking area.

Ticket detection program 300 then determines whether the ticket requiresthe payment of a fee (decision step 306). In one embodiment, ticketdetection program 300 utilizes ticket data 158 to determine if theticket has an associated required fee. For example, a prepaid ticket(e.g., parking pass), or a ticket in a free parking area do not requirea fee. If ticket detection program 300 determines that the ticket doesrequire payment of a fee, ticket detection program 300 proceeds to step314 (decision step 306, “yes” branch).

Ticket detection program 300 then determines the distance between thedetected ticket and the identified corresponding vehicle (step 308). Inone embodiment, responsive to determining that the ticket does notrequire payment of a fee (decision step 306, “no” branch), ticketdetection program 300 determines the distance between the detectedticket and the identified corresponding vehicle. In various embodiments,ticket detection program 300 utilizes cameras 110 and ticket detectionsystem 115 to monitor the location of the ticket, and the individual inpossession of the ticket. Ticket detection program 300 receives datafrom ticket detection system 115, which can utilize sensors (e.g., RFIDsensors) to detect the location of the ticket, to determine the distancebetween the ticket and the parking space of the identified correspondingvehicle. Ticket detection program 300 receives photos and video fromcameras 110 to determine the distance between the identified individualin possession of the ticket and the parking space of the identifiedcorresponding vehicle. When the ticket is not being detected by a sensorof ticket detection system 115, cameras 110 can monitor the individualin possession of the ticket. Ticket detection program 300 can determinethe distance between the detected ticket (or the individual inpossession of the ticket), utilizing methods previously discussed withregard to step 206 of prediction program 200.

Ticket detection program 300 then determines whether or not the ticketis moving toward the vehicle (decision step 310). In one embodiment,ticket detection program 300 determines whether or not the ticket (i.e.,the individual in possession of the ticket) is moving toward the parkingspace of the identified corresponding vehicle. Ticket detection program300 can determine whether or not the ticket is moving toward the parkingspace of the identified corresponding vehicle utilizing methodspreviously discussed with regard to step 208 of prediction program 200.Responsive to determining that the ticket (i.e., the individual inpossession of the ticket) is not moving toward the vehicle, ticketdetection program 300 proceeds to step 308 (decision step 310, “no”branch). Ticket detection program 300 can store an indication that theticket is moving toward the parking space of the identifiedcorresponding vehicle in the corresponding instance of ticket data 158.

Ticket detection program 300 then determines whether the determineddistance is less than a distance threshold condition (decision step312). In one embodiment, responsive to determining that the ticket(i.e., the individual in possession of the ticket) is moving toward theparking space of the identified corresponding vehicle (decision step310, “yes” branch), ticket detection program 300 determines whether themost recently determined distance of the ticket (e.g., determineddistance in step 308, determined updated distance in decision step 310)is less than a previously defined distance threshold condition. Thedistance threshold condition is previously discussed with regard todecision step 210 of prediction program 200. Ticket detection program300 can determine whether or not the determined distance is less than adistance threshold condition utilizing methods previously discussed withregard to decision step 210 of prediction program 200. Responsive todetermining that the determined distance is not less than a distancethreshold condition, ticket detection program 300 proceeds to step 308(decision step 312, “no” branch). Ticket detection program 300 can storean indication that the determined distance of the ticket to thecorresponding vehicle is less than the distance threshold in thecorresponding instance of ticket data 158.

Ticket detection program 300 then determines whether to mark the parkingspace of the identified vehicle as ready to be free. In one embodiment,responsive to determining that the determined distance is less than adistance threshold condition (decision step 312, “yes” branch), ticketdetection program 300 determines whether to mark the parking space ofthe identified vehicle as ready to be free. Ticket detection program 300utilizes the indication that the determined distance of the ticket tothe parking space of the identified corresponding vehicle is less than adistance threshold condition as one factor in the determination ofwhether or not to mark the parking space of the identified vehicle asready to be free. In an embodiment, ticket detection program 300 alsoutilizes other factors, which may include, without limitation: a numberof passengers of the corresponding vehicle that have arrived at theparking space of the vehicle, a number of passengers of thecorresponding vehicle that prediction program 200 detects are movingtoward the parking space of the vehicle, and statistical model 156associated with the corresponding vehicle. Ticket detection program 300can determine and utilize the other factors as previously discussed withregard to step 314 of prediction program 200. In example embodiments,responsive to determining to mark a parking space as ready to be free,ticket detection program 300 utilizes parking space guidance system 120to display the location of the parking space that is ready to be free.

In another embodiment, responsive to determining that the ticket doesrequire payment of a fee (decision step 306, “yes” branch) and paymentof the fee is received; ticket detection program 300 determines whetherto mark the parking space of the identified vehicle as ready to be free.Ticket data 158 can include an indication of whether of not a fee hasbeen paid.

FIG. 4 depicts a block diagram of components of computer 400, which isrepresentative of parking space prediction engine 140 in accordance withan illustrative embodiment of the present invention. It should beappreciated that FIG. 4 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Computer 400 includes communications fabric 402, which providescommunications between computer processor(s) 404, memory 406, persistentstorage 408, communications unit 410, and input/output (I/O)interface(s) 412. Communications fabric 402 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric402 can be implemented with one or more buses.

Memory 406 and persistent storage 408 are computer-readable storagemedia. In this embodiment, memory 406 includes random access memory(RAM) 414 and cache memory 416. In general, memory 406 can include anysuitable volatile or non-volatile computer-readable storage media.Software and data 422 are stored in persistent storage for access and/orexecution by processors 404 via one or more memories of memory 406. Withrespect to parking space prediction engine 140, software and data 422represents statistical modeling software 142, passenger data 154,vehicle data 152, statistical model 156, ticket data 158, detectionprogram 300, and ticket detection program 300.

In this embodiment, persistent storage 408 includes a magnetic hard diskdrive. Alternatively, or in addition to a magnetic hard disk drive,persistent storage 408 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer-readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 408 may also be removable. Forexample, a removable hard drive may be used for persistent storage 408.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage408.

Communications unit 410, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 410 may include one or more network interface cards.Communications unit 410 may provide communications through the use ofeither or both physical and wireless communications links. Software anddata 422 may be downloaded to persistent storage 408 throughcommunications unit 410.

I/O interface(s) 412 allows for input and output of data with otherdevices that may be connected to computer 400. For example, I/Ointerface 412 may provide a connection to external devices 418 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 418 can also include portable computer-readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data 422 can be stored onsuch portable computer-readable storage media and can be loaded ontopersistent storage 408 via I/O interface(s) 412. I/O interface(s) 412also can connect to a display 420.

Display 420 provides a mechanism to display data to a user and may be,for example, a computer monitor. Display 420 can also function as atouch screen, such as a display of a tablet computer.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the Figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

What is claimed is:
 1. A computer implemented method for management ofparking spaces in a parking area carried out by one or more processors,the method comprising the steps of: identifying an individual entering aparking area and a vehicle in the parking area that corresponds to theidentified individual; determining a distance between the identifiedindividual and the identified vehicle in the parking area; determiningwhether the identified individual is moving toward the identifiedvehicle; and responsive to determining that the identified individual ismoving toward the identified vehicle, determining whether the determineddistance is less than an associated distance threshold condition.
 2. Themethod in accordance with claim 1, wherein the step of identifying theindividual entering the parking area and the vehicle in the parking areathat corresponds to the identified individual, further comprises thesteps of: detecting a parking ticket entering the parking area; andidentifying an individual and a vehicle in the parking area thatcorrespond to the detected parking ticket, wherein the parking ticket isassociated with a vehicle currently parked in the parking area.
 3. Themethod in accordance with claim 1, further comprising the steps of:responsive to determining that the determined distance is less than theassociated distance threshold condition, providing an indication thatthe parking space of the identified vehicle is ready to be free based onone or more of: a number of passengers of the identified vehicle thathave arrived at the parking space of the identified vehicle, a number ofpassengers of the identified vehicle that are moving toward the parkingspace of the identified vehicle, and a statistical model associated withthe identified vehicle, wherein the statistical model provides aprobability of a departure time of a vehicle from the parking arearelative to the arrival time of the vehicle to the parking area.
 4. Themethod in accordance with claim 2, wherein the step of identifying theindividual entering the parking area further comprises the step ofidentifying the individual entering the parking area utilizing imagesand video received from cameras located in the parking area.
 5. Themethod in accordance with claim 2, wherein the step of detecting theparking ticket entering the parking area further comprises the step ofdetecting the parking ticket entering the parking area utilizing sensorslocated in the parking area.
 6. The method in accordance with claim 1,wherein the step of determining whether the identified individual ismoving toward the identified vehicle, further comprises the steps of:monitoring movement of the identified individual in the parking area;and determining whether the determined distance between the identifiedindividual and the identified vehicle in the parking area is decreasing.7. The method in accordance with claim 2, further comprising the stepsof: determining whether the detected parking ticket requires a fee to bepaid; and responsive to receiving an indication that the required feehas been paid, providing an indication that the parking space of theidentified vehicle is ready to be free.
 8. The method in accordance withclaim 1, further comprising the step of: responsive to determining thatthe determined distance is not less than the associated distancethreshold condition, determining an updated distance between theidentified individual and the identified vehicle in the parking area. 9.A computer program product for management of parking spaces in a parkingarea, including one or more computer-readable storage media and programinstructions stored on at least one of the one or more storage media,wherein execution of the program instructions by one or more processorsof a computer system causes the one or more processors to carry out theacts of: identifying an individual entering a parking area and a vehiclein the parking area that corresponds to the identified individual;determining a distance between the identified individual and theidentified vehicle in the parking area; determining whether theidentified individual is moving toward the identified vehicle; andresponsive to determining that the identified individual is movingtoward the identified vehicle, determining whether the determineddistance is less than an associated distance threshold condition. 10.The computer program product in accordance with claim 9, wherein programinstructions of identifying the individual entering the parking area andthe vehicle in the parking area that corresponds to the identifiedindividual further comprises program instructions to carry outadditional acts of: detecting a parking ticket entering the parkingarea; and identifying an individual and a vehicle in the parking areathat correspond to the detected parking ticket, wherein the parkingticket is associated with a vehicle currently parked in the parkingarea.
 11. The computer program product in accordance with claim 9,wherein execution of the program instructions by the one or moreprocessors of the computer system causes the one or more processors tocarry out the additional acts of: responsive to determining that thedetermined distance is less than the associated distance thresholdcondition, providing an indication that the parking space of theidentified vehicle is ready to be free based on one or more of: a numberof passengers of the identified vehicle that have arrived at the parkingspace of the identified vehicle, a number of passengers of theidentified vehicle that are moving toward the parking space of theidentified vehicle, and a statistical model associated with theidentified vehicle, wherein the statistical model provides a probabilityof a departure time of a vehicle from the parking area relative to thearrival time of the vehicle to the parking area.
 12. The computerprogram product in accordance with claim 9, wherein program instructionsof determining whether the identified individual is moving toward theidentified vehicle further comprises program instructions to carry outadditional acts of: monitoring movement of the identified individual inthe parking area; and determining whether the determined distancebetween the identified individual and the identified vehicle in theparking area is decreasing.
 13. The computer program product inaccordance with claim 10, wherein execution of the program instructionsby the one or more processors of the computer system causes the one ormore processors to carry out the additional acts of: determining whetherthe detected parking ticket requires a fee to be paid; and responsive toreceiving an indication that the required fee has been paid, providingan indication that the parking space of the identified vehicle is readyto be free.
 14. The computer program product in accordance with claim 9,wherein execution of the program instructions by the one or moreprocessors of the computer system causes the one or more processors tocarry out the additional act of: responsive to determining that thedetermined distance is not less than the associated distance thresholdcondition, determining an updated distance between the identifiedindividual and the identified vehicle in the parking area.
 15. Acomputer system for management of parking spaces in a parking area, thecomputer system comprising: one or more computer processors; one or morecomputer-readable storage media; and program instructions stored on thecomputer-readable storage media for execution by at least one of the oneor more processors, the program instructions comprising: programinstructions to identify an individual entering a parking area and avehicle in the parking area that corresponds to the identifiedindividual; program instructions to determine a distance between theidentified individual and the identified vehicle in the parking area;program instructions to determine whether the identified individual ismoving toward the identified vehicle; and responsive to determining thatthe identified individual is moving toward the identified vehicle,program instructions to determine whether the determined distance isless than an associated distance threshold condition.
 16. The computersystem in accordance with claim 15, wherein the program instructions toidentify the individual entering the parking area and the vehicle in theparking area that corresponds to the identified individual compriseprogram instructions to: detect a parking ticket entering the parkingarea; and identify an individual and a vehicle in the parking area thatcorrespond to the detected parking ticket, wherein the parking ticket isassociated with a vehicle currently parked in the parking area.
 17. Thecomputer system in accordance with claim 15, further comprising programinstructions to: responsive to determining that the determined distanceis less than the associated distance threshold condition, provide anindication that the parking space of the identified vehicle is ready tobe free based on one or more of: a number of passengers of theidentified vehicle that have arrived at the parking space of theidentified vehicle, a number of passengers of the identified vehiclethat are moving toward the parking space of the identified vehicle, anda statistical model associated with the identified vehicle, wherein thestatistical model provides a probability of a departure time of avehicle from the parking area relative to the arrival time of thevehicle to the parking area.
 18. The computer system in accordance withclaim 15, wherein the program instructions to determine whether theidentified individual is moving toward the identified vehicle compriseprogram instructions to: monitor movement of the identified individualin the parking area; and determine whether the determined distancebetween the identified individual and the identified vehicle in theparking area is decreasing.
 19. The computer system in accordance withclaim 16, further comprising program instructions to: determine whetherthe detected parking ticket requires a fee to be paid; and responsive toreceiving an indication that the required fee has been paid, provide anindication that the parking space of the identified vehicle is ready tobe free.
 20. The computer system in accordance with claim 15, furthercomprising program instructions to: responsive to determining that thedetermined distance is not less than the associated distance thresholdcondition, determine an updated distance between the identifiedindividual and the identified vehicle in the parking area.